package top.porchwood.util.db;

/**
 * 用于对出现未知类型的类进行类型转换
 *
 * @Author 一七年夏
 * @Link https://space.bilibili.com/16869954
 * @Email 2098833867@qq.com
 * @License GNU General Public License 3.0
 * @DateTime 2021-08-08 10:18
 */

public interface ResultSetTypeConverter {
    /**
     * 将一个对象从一个类型转换为另一个类型
     * @param input 输入对象
     * @param outputType 输出对象
     * @param memberName 用于区分的输入对象成员的名称
     * @param <T1> 输入类型
     * @param <T2> 输出类型
     * @return 输出对象
     */
    <T1, T2> T2 converterType(T1 input, Class<T2> outputType, String memberName) throws IllegalArgumentException;
}
